#ifndef I_PACKAGE_HANDLER_H
#define I_PACKAGE_HANDLER_H

#include <boost/asio.hpp>
#include <boost/shared_ptr.hpp>
using boost::asio::ip::udp;

#include "i_package.h"
#include "i_package_sender.h"

class IPackageReceiver
{
public:
	typedef boost::shared_ptr<IPackageReceiver> Ptr;
	virtual void handle(const udp::endpoint& remoteAddr, IPackage::Ptr package, IPackageSender::Ptr sender, unsigned int packageSeq) = 0;
	virtual ~IPackageReceiver(){}
};

#endif
